
package org.xteam.sled.ast;

public interface ISledVisitor {

	void visitSledFile(SledFile aSledFile);
	
	void visitFieldsSpec(FieldsSpec aFieldsSpec);
	
	void visitFieldSpec(FieldSpec aFieldSpec);
	
	void visitFieldInfoSpec(FieldInfoSpec aFieldInfoSpec);
	
	void visitFieldInfo(FieldInfo aFieldInfo);
	
	void visitCheckedItem(CheckedItem aCheckedItem);
	
	void visitUncheckedItem(UncheckedItem aUncheckedItem);
	
	void visitGuaranteedItem(GuaranteedItem aGuaranteedItem);
	
	void visitSparseItem(SparseItem aSparseItem);
	
	void visitNameBinding(NameBinding aNameBinding);
	
	void visitNamesItem(NamesItem aNamesItem);
	
	void visitFieldName(FieldName aFieldName);
	
	void visitRelocatableSpec(RelocatableSpec aRelocatableSpec);
	
	void visitBitSpec(BitSpec aBitSpec);
	
	void visitPatternsSpec(PatternsSpec aPatternsSpec);
	
	void visitSimplePatternBinding(SimplePatternBinding aSimplePatternBinding);
	
	void visitAnyPatternBinding(AnyPatternBinding aAnyPatternBinding);
	
	void visitListPatternBinding(ListPatternBinding aListPatternBinding);
	
	void visitOrPattern(OrPattern aOrPattern);
	
	void visitSequentPattern(SequentPattern aSequentPattern);
	
	void visitLabelPattern(LabelPattern aLabelPattern);
	
	void visitAndPattern(AndPattern aAndPattern);
	
	void visitPrefixPattern(PrefixPattern aPrefixPattern);
	
	void visitSuffixPattern(SuffixPattern aSuffixPattern);
	
	void visitPatternIdent(PatternIdent aPatternIdent);
	
	void visitRelationPattern(RelationPattern aRelationPattern);
	
	void visitGeneratorPattern(GeneratorPattern aGeneratorPattern);
	
	void visitEqOp(EqOp aEqOp);
	
	void visitNeOp(NeOp aNeOp);
	
	void visitLeOp(LeOp aLeOp);
	
	void visitGeOp(GeOp aGeOp);
	
	void visitLtOp(LtOp aLtOp);
	
	void visitGtOp(GtOp aGtOp);
	
	void visitIdentOpName(IdentOpName aIdentOpName);
	
	void visitStringOpName(StringOpName aStringOpName);
	
	void visitRangeGenerator(RangeGenerator aRangeGenerator);
	
	void visitListGenerator(ListGenerator aListGenerator);
	
	void visitListPattern(ListPattern aListPattern);
	
	void visitEpsilonPattern(EpsilonPattern aEpsilonPattern);
	
	void visitSomePattern(SomePattern aSomePattern);
	
	void visitCallPattern(CallPattern aCallPattern);
	
	void visitAddExpr(AddExpr aAddExpr);
	
	void visitSubExpr(SubExpr aSubExpr);
	
	void visitMulExpr(MulExpr aMulExpr);
	
	void visitDivExpr(DivExpr aDivExpr);
	
	void visitMinusExpr(MinusExpr aMinusExpr);
	
	void visitExtendExpr(ExtendExpr aExtendExpr);
	
	void visitIdentExpr(IdentExpr aIdentExpr);
	
	void visitBitRange(BitRange aBitRange);
	
	void visitIntegerExpr(IntegerExpr aIntegerExpr);
	
	void visitStringExpr(StringExpr aStringExpr);
	
	void visitConstructorsSpec(ConstructorsSpec aConstructorsSpec);
	
	void visitConstructor(Constructor aConstructor);
	
	void visitIdentOperand(IdentOperand aIdentOperand);
	
	void visitExtend(Extend aExtend);
	
	void visitNoiseOperand(NoiseOperand aNoiseOperand);
	
	void visitBranch(Branch aBranch);
	
	void visitEquation(Equation aEquation);
	
	void visitPlaceholderSpec(PlaceholderSpec aPlaceholderSpec);
	
	void visitIdent(Ident aIdent);
	
	void visitIntegerLiteral(IntegerLiteral aIntegerLiteral);
	
	void visitStringLiteral(StringLiteral aStringLiteral);
	
}
